@@ -13,6 +13,8 @@ import android.widget.ImageView; |
||
13 | 13 |
import android.widget.TextView; |
14 | 14 |
import android.widget.Toast; |
15 | 15 |
|
16 |
+import com.umeng.analytics.MobclickAgent; |
|
17 |
+ |
|
16 | 18 |
import java.io.File; |
17 | 19 |
|
18 | 20 |
import ai.pai.client.R; |
@@ -24,6 +26,7 @@ import ai.pai.client.services.GroupService; |
||
24 | 26 |
import ai.pai.client.utils.Constants; |
25 | 27 |
import ai.pai.client.utils.GroupCreateUtils; |
26 | 28 |
import ai.pai.client.utils.SystemUtils; |
29 |
+import ai.pai.client.utils.UmengEvent; |
|
27 | 30 |
|
28 | 31 |
public class GroupActivity extends BaseActivity implements View.OnClickListener{ |
29 | 32 |
|
@@ -85,6 +88,7 @@ public class GroupActivity extends BaseActivity implements View.OnClickListener{ |
||
85 | 88 |
finish(); |
86 | 89 |
break; |
87 | 90 |
case R.id.title_bar_option_layout: |
91 |
+ MobclickAgent.onEvent(this, UmengEvent.group_setting_btn_click); |
|
88 | 92 |
Intent intent = new Intent(GroupActivity.this,GroupSettingActivity.class); |
89 | 93 |
intent.putExtra("group_id",groupId); |
90 | 94 |
intent.putExtra("avatar_id",defaultAvatarId); |
@@ -92,6 +96,7 @@ public class GroupActivity extends BaseActivity implements View.OnClickListener{ |
||
92 | 96 |
startActivity(intent); |
93 | 97 |
break; |
94 | 98 |
case R.id.floating_btn_camera: |
99 |
+ MobclickAgent.onEvent(this, UmengEvent.group_camera_btn_click); |
|
95 | 100 |
if(TextUtils.isEmpty(groupId)){ |
96 | 101 |
if(qrFragment!=null && qrFragment.isAdded()){ |
97 | 102 |
groupId = qrFragment.getGroupId(); |
@@ -19,6 +19,7 @@ import android.widget.ToggleButton; |
||
19 | 19 |
|
20 | 20 |
import com.android.common.utils.DeviceUtils; |
21 | 21 |
import com.android.views.roundrect.RoundedImageView; |
22 |
+import com.umeng.analytics.MobclickAgent; |
|
22 | 23 |
|
23 | 24 |
import java.util.ArrayList; |
24 | 25 |
|
@@ -28,6 +29,7 @@ import ai.pai.client.db.DBService; |
||
28 | 29 |
import ai.pai.client.services.GroupService; |
29 | 30 |
import ai.pai.client.utils.PhotoLoader; |
30 | 31 |
import ai.pai.client.utils.SystemUtils; |
32 |
+import ai.pai.client.utils.UmengEvent; |
|
31 | 33 |
import ai.pai.client.views.GroupExitPopup; |
32 | 34 |
import ai.pai.client.views.GroupQRPopup; |
33 | 35 |
|
@@ -142,6 +144,7 @@ public class GroupSettingActivity extends BaseActivity implements View.OnClickLi |
||
142 | 144 |
exitPopup.dismiss(); |
143 | 145 |
break; |
144 | 146 |
case R.id.layout_group_qr: |
147 |
+ MobclickAgent.onEvent(this, UmengEvent.groupconfig_qrcode_layout_click); |
|
145 | 148 |
new GroupQRPopup(this, groupId, groupName, avatarId).showPopupWindow(); |
146 | 149 |
break; |
147 | 150 |
case R.id.layout_group_member: |
@@ -31,6 +31,7 @@ import com.android.common.utils.TimeUtils; |
||
31 | 31 |
import com.android.views.indicators.Indicator; |
32 | 32 |
import com.android.views.indicators.IndicatorViewPager; |
33 | 33 |
import com.android.views.indicators.SpringBar; |
34 |
+import com.umeng.analytics.MobclickAgent; |
|
34 | 35 |
|
35 | 36 |
import java.io.File; |
36 | 37 |
import java.sql.Time; |
@@ -45,6 +46,7 @@ import ai.pai.client.services.GroupService; |
||
45 | 46 |
import ai.pai.client.services.MyLocationService; |
46 | 47 |
import ai.pai.client.utils.Constants; |
47 | 48 |
import ai.pai.client.utils.PhotoLoader; |
49 |
+import ai.pai.client.utils.UmengEvent; |
|
48 | 50 |
import ai.pai.client.views.GroupSelectPopup; |
49 | 51 |
import ai.pai.client.views.PersonInfoPopup; |
50 | 52 |
|
@@ -155,15 +157,19 @@ public class MainActivity extends AppCompatActivity |
||
155 | 157 |
public boolean onNavigationItemSelected(MenuItem item) { |
156 | 158 |
switch (item.getItemId()) { |
157 | 159 |
case R.id.nav_about_us: |
160 |
+ MobclickAgent.onEvent(this, UmengEvent.slide_about_click); |
|
158 | 161 |
startActivity(new Intent(MainActivity.this, AboutUsActivity.class)); |
159 | 162 |
break; |
160 | 163 |
case R.id.nav_feedback: |
164 |
+ MobclickAgent.onEvent(this, UmengEvent.slide_feedback_click); |
|
161 | 165 |
startActivity(new Intent(MainActivity.this, FeedbackActivity.class)); |
162 | 166 |
break; |
163 | 167 |
case R.id.nav_order_history: |
168 |
+ MobclickAgent.onEvent(this, UmengEvent.slide_order_history_click); |
|
164 | 169 |
startActivity(new Intent(MainActivity.this, OrderListActivity.class)); |
165 | 170 |
break; |
166 | 171 |
case R.id.nav_photo_groups: |
172 |
+ MobclickAgent.onEvent(this, UmengEvent.slide_my_group_click); |
|
167 | 173 |
startActivity(new Intent(MainActivity.this, GroupListActivity.class)); |
168 | 174 |
break; |
169 | 175 |
default: |
@@ -179,6 +185,7 @@ public class MainActivity extends AppCompatActivity |
||
179 | 185 |
public void onClick(View v) { |
180 | 186 |
switch (v.getId()) { |
181 | 187 |
case R.id.floating_btn_gather: |
188 |
+ MobclickAgent.onEvent(this, UmengEvent.home_gather_info_btn_click); |
|
182 | 189 |
gatherInfoTextView.setVisibility(gatherInfoTextView.getVisibility()== View.VISIBLE?View.INVISIBLE:View.VISIBLE); |
183 | 190 |
gatherInfoTextView.setText(getString(R.string.gather_info,TimeUtils.getGatherTimeStr(Preferences.getInstance(this).getGatherTime()),Preferences.getInstance(this).getTourGatherLocation())); |
184 | 191 |
if(gatherInfoTextView.getVisibility()==View.VISIBLE){ |
@@ -193,9 +200,11 @@ public class MainActivity extends AppCompatActivity |
||
193 | 200 |
} |
194 | 201 |
break; |
195 | 202 |
case R.id.floating_btn_add: |
203 |
+ MobclickAgent.onEvent(this, UmengEvent.home_new_group_btn_click); |
|
196 | 204 |
new GroupSelectPopup(MainActivity.this).showPopupWindow(); |
197 | 205 |
break; |
198 | 206 |
case R.id.floating_btn_scan: |
207 |
+ MobclickAgent.onEvent(this, UmengEvent.home_scan_btn_click); |
|
199 | 208 |
Intent intent = new Intent(MainActivity.this, QRCaptureActivity.class); |
200 | 209 |
startActivityForResult(intent, JOIN_REQUEST_CODE); |
201 | 210 |
break; |
@@ -225,6 +234,7 @@ public class MainActivity extends AppCompatActivity |
||
225 | 234 |
personInfoPopup.dismiss(); |
226 | 235 |
break; |
227 | 236 |
case R.id.floating_btn_call: |
237 |
+ MobclickAgent.onEvent(this, UmengEvent.home_call_guide_btn_click); |
|
228 | 238 |
String tmp = Preferences.getInstance(this).getTourGuidePhone(); |
229 | 239 |
Uri uri=Uri.parse("tel:"+tmp); |
230 | 240 |
Intent callIntent=new Intent(); |
@@ -318,6 +328,7 @@ public class MainActivity extends AppCompatActivity |
||
318 | 328 |
LogHelper.d("czy","qr scan result = "+urlInfo); |
319 | 329 |
boolean isFromGuideApp = urlInfo.contains("tgu"); |
320 | 330 |
if(isFromGuideApp){ |
331 |
+ MobclickAgent.onEvent(this, UmengEvent.home_scan_tour_back); |
|
321 | 332 |
guideId = urlInfo.substring(urlInfo.lastIndexOf("/") + 1); |
322 | 333 |
if(!TextUtils.isEmpty(Preferences.getInstance(this).getUserPhone())){ |
323 | 334 |
joinTourGuideGroup(guideId,Preferences.getInstance(this).getUserName(),Preferences.getInstance(this).getUserPhone()); |
@@ -328,6 +339,7 @@ public class MainActivity extends AppCompatActivity |
||
328 | 339 |
return; |
329 | 340 |
} |
330 | 341 |
boolean isFromAPP = urlInfo.contains("pai.ai/g/"); |
342 |
+ MobclickAgent.onEvent(this, isFromAPP? UmengEvent.home_scan_group_back:UmengEvent.home_scan_session_back); |
|
331 | 343 |
String groupId = urlInfo.substring(urlInfo.lastIndexOf("/") + 1); |
332 | 344 |
if (requestCode == JOIN_REQUEST_CODE) { |
333 | 345 |
Intent intent = new Intent(this, GroupService.class); |
@@ -26,6 +26,7 @@ import com.tencent.mm.sdk.modelbase.BaseResp; |
||
26 | 26 |
import com.tencent.mm.sdk.modelpay.PayReq; |
27 | 27 |
import com.tencent.mm.sdk.openapi.IWXAPI; |
28 | 28 |
import com.tencent.mm.sdk.openapi.WXAPIFactory; |
29 |
+import com.umeng.analytics.MobclickAgent; |
|
29 | 30 |
import com.umeng.socialize.ShareAction; |
30 | 31 |
import com.umeng.socialize.UMShareAPI; |
31 | 32 |
import com.umeng.socialize.UMShareListener; |
@@ -50,6 +51,7 @@ import ai.pai.client.utils.GroupCreateUtils; |
||
50 | 51 |
import ai.pai.client.utils.HttpPostTask; |
51 | 52 |
import ai.pai.client.utils.PhotoLoader; |
52 | 53 |
import ai.pai.client.utils.SystemUtils; |
54 |
+import ai.pai.client.utils.UmengEvent; |
|
53 | 55 |
import ai.pai.client.utils.UrlContainer; |
54 | 56 |
import ai.pai.client.views.CountView; |
55 | 57 |
import ai.pai.client.views.InputPopup; |
@@ -317,10 +319,12 @@ public class PhotoDetailsActivity extends BaseActivity implements View.OnClickLi |
||
317 | 319 |
finish(); |
318 | 320 |
break; |
319 | 321 |
case R.id.floating_btn_comment: |
322 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_comment_btn_click); |
|
320 | 323 |
inputPopup = new InputPopup(this,this); |
321 | 324 |
inputPopup.showPopupWindow(); |
322 | 325 |
break; |
323 | 326 |
case R.id.btn_comment_send: |
327 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_comment_send_btn_click); |
|
324 | 328 |
if(inputPopup!=null){ |
325 | 329 |
InputMethodUtils.hideInputMethod(inputPopup.getInputView()); |
326 | 330 |
inputPopup.dismiss(); |
@@ -329,12 +333,15 @@ public class PhotoDetailsActivity extends BaseActivity implements View.OnClickLi |
||
329 | 333 |
break; |
330 | 334 |
case R.id.iv_share_paid_photo: |
331 | 335 |
case R.id.floating_btn_share: |
336 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_share_btn_click); |
|
332 | 337 |
sharePhoto(); |
333 | 338 |
break; |
334 | 339 |
case R.id.floating_btn_thumbup: |
340 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_thumb_btn_click); |
|
335 | 341 |
doPhotoThumbUpTask(); |
336 | 342 |
break; |
337 | 343 |
case R.id.tv_enter_group: |
344 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_enter_group_btn_click); |
|
338 | 345 |
if(fromGroupPage){ |
339 | 346 |
finish(); |
340 | 347 |
}else{ |
@@ -380,12 +387,14 @@ public class PhotoDetailsActivity extends BaseActivity implements View.OnClickLi |
||
380 | 387 |
clickGetPhoto(PAY_TYPE_ORIGIN); |
381 | 388 |
break; |
382 | 389 |
case R.id.tv_buy_hd_photo: |
390 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_buy_origin_btn_click); |
|
383 | 391 |
clickPay(buyHDPhotoTextView.getNumber(),PAY_TYPE_ORIGIN); |
384 | 392 |
break; |
385 | 393 |
case R.id.layout_wipe_water_print: |
386 | 394 |
clickGetPhoto(PAY_TYPE_NO_MARK); |
387 | 395 |
break; |
388 | 396 |
case R.id.tv_buy_wipe_water_print: |
397 |
+ MobclickAgent.onEvent(this, UmengEvent.detail_waterprint_btn_click); |
|
389 | 398 |
clickPay(buyWipeWaterPrintTextView.getNumber(),PAY_TYPE_NO_MARK); |
390 | 399 |
break; |
391 | 400 |
default: |
@@ -13,6 +13,7 @@ import android.widget.Toast; |
||
13 | 13 |
import com.android.common.executors.ThreadExecutor; |
14 | 14 |
import com.android.common.utils.LogHelper; |
15 | 15 |
import com.android.views.progressbar.ProgressWheel; |
16 |
+import com.umeng.analytics.MobclickAgent; |
|
16 | 17 |
|
17 | 18 |
import java.io.File; |
18 | 19 |
import java.io.FileOutputStream; |
@@ -25,6 +26,7 @@ import ai.pai.client.BuildConfig; |
||
25 | 26 |
import ai.pai.client.R; |
26 | 27 |
import ai.pai.client.adapter.FullScreenPhotoPageAdapter; |
27 | 28 |
import ai.pai.client.beans.GroupPhotoItem; |
29 |
+import ai.pai.client.utils.UmengEvent; |
|
28 | 30 |
import ai.pai.client.views.HackyViewPager; |
29 | 31 |
|
30 | 32 |
public class PhotoFullScreenActivity extends BaseActivity implements View.OnClickListener, ViewPager.OnPageChangeListener { |
@@ -59,6 +61,7 @@ public class PhotoFullScreenActivity extends BaseActivity implements View.OnClic |
||
59 | 61 |
finish(); |
60 | 62 |
break; |
61 | 63 |
case R.id.btn_download_full_screen: |
64 |
+ MobclickAgent.onEvent(this, UmengEvent.fullscreen_download_btn_click); |
|
62 | 65 |
if(currentPhotoItem.photoFrom==1 && TextUtils.isEmpty(currentPhotoItem.mediumPhotoUrl) && TextUtils.isEmpty(currentPhotoItem.rawPhotoUrl)){ |
63 | 66 |
Toast.makeText(this,R.string.photo_need_buy,Toast.LENGTH_SHORT).show(); |
64 | 67 |
return; |
@@ -13,6 +13,7 @@ import com.android.common.utils.DeviceUtils; |
||
13 | 13 |
import com.android.common.utils.TimeUtils; |
14 | 14 |
import com.android.views.circleimageview.CircleImageView; |
15 | 15 |
import com.nostra13.universalimageloader.core.DisplayImageOptions; |
16 |
+import com.umeng.analytics.MobclickAgent; |
|
16 | 17 |
|
17 | 18 |
import java.util.ArrayList; |
18 | 19 |
|
@@ -23,6 +24,7 @@ import ai.pai.client.beans.GroupInfo; |
||
23 | 24 |
import ai.pai.client.beans.GroupPhotoItem; |
24 | 25 |
import ai.pai.client.utils.GroupCreateUtils; |
25 | 26 |
import ai.pai.client.utils.PhotoLoader; |
27 |
+import ai.pai.client.utils.UmengEvent; |
|
26 | 28 |
|
27 | 29 |
public class RecentPhotoStaggeredAdapter extends RecyclerView.Adapter<RecentPhotoStaggeredAdapter.MyViewHolder> { |
28 | 30 |
|
@@ -88,6 +90,7 @@ public class RecentPhotoStaggeredAdapter extends RecyclerView.Adapter<RecentPhot |
||
88 | 90 |
intent.putExtra("list",photoList); |
89 | 91 |
intent.putExtra("photo_item",item); |
90 | 92 |
context.startActivity(intent); |
93 |
+ MobclickAgent.onEvent(context, UmengEvent.home_item_photo_click); |
|
91 | 94 |
} |
92 | 95 |
}); |
93 | 96 |
holder.headLayout.setOnClickListener(new View.OnClickListener(){ |
@@ -100,6 +103,7 @@ public class RecentPhotoStaggeredAdapter extends RecyclerView.Adapter<RecentPhot |
||
100 | 103 |
info.groupAvatarId = item.groupDefaultAvatar; |
101 | 104 |
intent.putExtra("group",info); |
102 | 105 |
context.startActivity(intent); |
106 |
+ MobclickAgent.onEvent(context, UmengEvent.home_item_group_header_click); |
|
103 | 107 |
} |
104 | 108 |
}); |
105 | 109 |
PhotoLoader.getInstance(context).displayImage(item.thumbnailUrl,holder.photo,options); |
@@ -0,0 +1,34 @@ |
||
1 |
+package ai.pai.client.utils; |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * Created by chengzhenyu on 2017/3/5. |
|
5 |
+ */ |
|
6 |
+ |
|
7 |
+public class UmengEvent { |
|
8 |
+ |
|
9 |
+ public static final String home_scan_btn_click = "home_scan_btn_click"; |
|
10 |
+ public static final String group_camera_btn_click = "group_camera_btn_click"; |
|
11 |
+ public static final String group_setting_btn_click = "group_setting_btn_click"; |
|
12 |
+ public static final String groupconfig_qrcode_layout_click = "groupconfig_qrcode_layout_click"; |
|
13 |
+ public static final String slide_my_group_click = "slide_my_group_click"; |
|
14 |
+ public static final String slide_order_history_click = "slide_order_history_click"; |
|
15 |
+ public static final String slide_feedback_click = "slide_feedback_click"; |
|
16 |
+ public static final String slide_about_click = "slide_about_click"; |
|
17 |
+ public static final String home_item_group_header_click = "home_item_group_header_click"; |
|
18 |
+ public static final String home_new_group_btn_click = "home_new_group_btn_click"; |
|
19 |
+ public static final String detail_comment_btn_click = "detail_comment_btn_click"; |
|
20 |
+ public static final String detail_thumb_btn_click = "detail_thumb_btn_click"; |
|
21 |
+ public static final String detail_share_btn_click = "detail_share_btn_click"; |
|
22 |
+ public static final String detail_enter_group_btn_click = "detail_enter_group_btn_click"; |
|
23 |
+ public static final String detail_waterprint_btn_click = "detail_waterprint_btn_click"; |
|
24 |
+ public static final String detail_buy_origin_btn_click = "detail_buy_origin_btn_click"; |
|
25 |
+ public static final String fullscreen_download_btn_click = "fullscreen_download_btn_click"; |
|
26 |
+ public static final String home_call_guide_btn_click = "home_call_guide_btn_click"; |
|
27 |
+ public static final String home_gather_info_btn_click = "home_gather_info_btn_click"; |
|
28 |
+ public static final String home_item_photo_click = "home_item_photo_click"; |
|
29 |
+ public static final String detail_comment_send_btn_click = "detail_comment_send_btn_click"; |
|
30 |
+ public static final String home_scan_tour_back = "home_scan_tour_back"; |
|
31 |
+ public static final String home_scan_group_back = "home_scan_group_back"; |
|
32 |
+ public static final String home_scan_session_back = "home_scan_session_back"; |
|
33 |
+ |
|
34 |
+} |